In an application by Mr. A. G. Fraser, Ser. No. 407,877, filed concurrently herewith, there is disclosed a first-in, first-out (FIFO) queue. The FIFO queue temporarily stores a message received as a plurality of packets of digital bits over a transmission line from a source. Only when a complete message has been stored will it become available for retransmission.
Often, a plurality of messages from different sources are multiplexed onto the same transmission line. As in the single FIFO device disclosed in the aforesaid Fraser application, it becomes necessary sometimes to store these multiple messages temporarily, using a single random access memory because a single large memory is less expensive than many smaller memories. It is essential, however, that the messages from a single source, thus stored, become available for retransmission in the first-in, first-out order but it is not necessary that messages from different sources be retransmitted in FIFO order. Unlike the aforesaid Fraser application, however, it is useful to be able to read information from a FIFO queue after at least one packet has been stored therein.
The variation in delay experienced by the messages from one source depends critically upon the message traffic from other sources. For example, short messages from an interactive computer terminal may experience unacceptable delay if these messages are queued behind many large blocks of data from another source. It is desirable to have an arrangement so that, in the aforesaid example, short messages from the interactive terminal may be read from the queue storage memory, if so required, before all of the large blocks of data from the other source are received.